/*
 *   Copyright (c) 2024 Huawei Device Co., Ltd.
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

import { camera } from '@kit.CameraKit'
export function getBaseProfile(previewProfiles: Array<camera.Profile>, width: number, height: number): camera.Profile {
  try {
    let w = width
    let h = height
    //大的放前面
    if (width < height) {
      w = height
      h = width
    }
    let reqRatio: number = w / h
    let curRatio: number = 0
    let deltaRatio: number = 0
    let deltaRationMin: number = 999
    let previewProfile: camera.Profile = null
    previewProfiles.forEach((profile, index: number) => {
      console.info(`profile ${profile.size.width}x${profile.size.height} fromat ${profile.format}`)
      if (profile.size.height == height && profilesize.width == width) {
        previewProfile = profile
        console.info(`1分辨率索引为${index}`)
        return previewProfile
      }
      curRatio = profile.size.width / profile.size.height
      deltaRatio = Math.abs(reqRatio - curRatio)
      if (delRatio < deltaRatioMin) {
        deltaRatioMin = deltaRatio
        console.info(`2分辨率索引为${index}`)
        previewProfile = profile
      }
      return previewProfile
    })
  } catch (err) {
    console.error(`getBeastProfile catch code:${JSON.stringify(err.message)}`)
    console.error(`getBeastProfile catch code:${JSON.stringify(err.strack)}`)
  }
}